大部分场景下,如果没有特殊的规格需求(如GPU、本地盘等),推荐您指定vCPU和内存来创建ECI Pod(即ECI实例)。在此基础上,对于0.25~8 vCPU的规格需求,在轻量型应用等入门场景,您可以进一步指定算力类别为经济型,以降低使用成本。
功能说明
为了给您提供更灵活的配置选择和更低的使用成本,ECI推出了指定算力类别功能。在采用指定vCPU和内存方式创建ECI实例时,对于0.25~8 vCPU的规格需求,在轻量型应用等入门场景,您可以进一步指定算力类别为经济型,该类别规格的单价更低。
ECI支持的经济型规格如下:
各规格支持的临时存储空间大小均为30 GiB。
计费说明
相比于未指定算力类别时的规格,经济型规格的内存单价与之前一致,vCPU单价更低。
经济型规格目前处于公测中。
vCPU单价(vCPU):0.000027 元/秒(0.0972 元/小时)
内存单价(GiB): 0.00000613 元/秒(0.0221 元/小时)
ECI Pod创建成功后,您可以执行kubectl describe pod
命令查看详情,通过k8s.aliyun.com/eci-compute-category
字段确认ECI Pod实际使用的算力类别,如果是economy,ECI会按照经济型规格进行计费。
使用限制
指定算力类别功能具有以下限制:
仅适用于指定vCPU和内存创建ECI实例。
如果指定了ECS规格,则优先会采用指定的ECS规格,即无法指定算力类别。
不支持抢占式实例功能。
如果同时配置了抢占式实例和指定算力类别的Annotation,系统会报错(错误码为FeatureBasedConstraintConflict)。
不支持ARM架构的规格。
如果将ECI Pod调度到ARM架构节点的同时,配置了指定算力类别的Annotation,系统会报错(错误码为FeatureBasedConstraintConflict)。
不支持与以下功能同时使用:
指定或排除ECS规格族
指定或排除ECS规格代数
配置说明
指定vCPU和内存创建ECI Pod时,支持以下两种方式:
指定Pod内容器的vCPU和内存:通过定义Containers的limits或requests来指定,建议使用limits。
指定Pod级别的vCPU和内存:通过在Pod metadata中添加
k8s.aliyun.com/eci-use-specs
的Annotation来指定。
如果没有指定,或者同时设置了limits、requests和k8s.aliyun.com/eci-use-specs
,实际生效情况请参见通过指定vCPU和内存创建ECI Pod。
在指定vCPU和内存的基础上,对于0.25~8 vCPU的规格需求,您可以在Pod metadata中添加Annotation来指定算力类别,对应Annotation为k8s.aliyun.com/eci-compute-category
,取值为economy
表示使用经济型规格。
Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。
配置示例
示例一:设置容器的limits,同时指定算力类别为经济型
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-compute-category: "economy" # 指定算力类别为经济型 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 resources: limits: cpu: "500m" #指定nginx容器的vCPU为0.5 vCPU memory: "1024Mi" #指定nginx容器的内存为1 GiB - name: busybox image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30 command: ["sleep"] args: ["999999"] resources: limits: cpu: "1000m" #指定busybox容器的vCPU为1 vCPU memory: "2048Mi" #指定busybox容器的内存为2 GiB
示例二:通过
k8s.aliyun.com/eci-use-specs
指定多个vCPU和内存规格,同时指定算力类别为经济型apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-use-specs : "2-4Gi,4-8Gi" # 指定ECI Pod的规格优先使用2 vCPU,4 GiB内存,其次使用4 vCPU,8 GiB内存 k8s.aliyun.com/eci-compute-category: "economy" # 指定算力类别为经济型 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 - name: busybox image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30 command: ["sleep"] args: ["999999"] resources: limits: cpu: "500m" #容器的vCPU上限 memory: "1024Mi" #容器的内存上限
- 本页导读 (1)